package com.lxl.todo;
/**
* 找到字符串中所有字母异位词
* 给定两个字符串 s 和 p，找到 s 中所有 p 的 异位词 的子串，返回这些子串的起始索引。不考虑答案输出的顺序。
* 输入: s = "cbaebabacd", p = "abc"
输出: [0,6]
解释:
起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。
起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。
 示例 2:
* */
// TODO
//
//import java.util.*;
//
//public class Solution8 {
//    public List<Integer> findAnagrams(String s, String p) {
//        char[] charArray = p.toCharArray();
//        Arrays.sort(charArray);
//        List<Integer> result = new ArrayList<>();
//        for (int i = 0; i <= s.length() - p.length(); i++) {
//            String substring = s.substring(i, i + p.length());
//            char[] charArray1 = substring.toCharArray();
//            Arrays.sort(charArray1);
//            String substring1 = String.valueOf(charArray1);
//            String substring2 = String.valueOf(charArray);
//            if (substring1.equals(substring2)) {
//                result.add(i);
//            }
//        }
//        return result;
//    }
//
//
//    public List<Integer> findAnagrams2(String s, String p) {
//        List<Integer> result = new ArrayList<>();
//        if (p.length() > s.length()) {
//            return result;
//        }
//        HashMap<Character, Integer> map = new HashMap<>();
//        for(char c :p.toCharArray()) {
//            map.put(c, map.getOrDefault(c, 0) + 1);
//        }
//        int match = 0;
//        int left = 0,right = 0;
//        while(right < s.length()) {
//            char c = s.charAt(right);
//            right++;
//            if(map.containsKey(c)) {
//
//            }
//        }
//
//    }
//
//    public static void main(String[] args) {
//        Solution8 solution8 = new Solution8();
//        System.out.println(solution8.findAnagrams("abab", "ab"));
//    }
//}
//
